home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / xml / dom / minicompat.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  3KB  |  85 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. __all__ = [
  5.     'NodeList',
  6.     'EmptyNodeList',
  7.     'StringTypes',
  8.     'defproperty']
  9. import xml.dom as xml
  10.  
  11. try:
  12.     unicode
  13. except NameError:
  14.     StringTypes = (type(''),)
  15.  
  16. StringTypes = (type(''), type(unicode('')))
  17.  
  18. class NodeList(list):
  19.     __slots__ = ()
  20.     
  21.     def item(self, index):
  22.         if index <= index:
  23.             pass
  24.         elif index < len(self):
  25.             return self[index]
  26.         
  27.  
  28.     
  29.     def _get_length(self):
  30.         return len(self)
  31.  
  32.     
  33.     def _set_length(self, value):
  34.         raise xml.dom.NoModificationAllowedErr("attempt to modify read-only attribute 'length'")
  35.  
  36.     length = property(_get_length, _set_length, doc = 'The number of nodes in the NodeList.')
  37.     
  38.     def __getstate__(self):
  39.         return list(self)
  40.  
  41.     
  42.     def __setstate__(self, state):
  43.         self[:] = state
  44.  
  45.  
  46.  
  47. class EmptyNodeList(tuple):
  48.     __slots__ = ()
  49.     
  50.     def __add__(self, other):
  51.         NL = NodeList()
  52.         NL.extend(other)
  53.         return NL
  54.  
  55.     
  56.     def __radd__(self, other):
  57.         NL = NodeList()
  58.         NL.extend(other)
  59.         return NL
  60.  
  61.     
  62.     def item(self, index):
  63.         pass
  64.  
  65.     
  66.     def _get_length(self):
  67.         return 0
  68.  
  69.     
  70.     def _set_length(self, value):
  71.         raise xml.dom.NoModificationAllowedErr("attempt to modify read-only attribute 'length'")
  72.  
  73.     length = property(_get_length, _set_length, doc = 'The number of nodes in the NodeList.')
  74.  
  75.  
  76. def defproperty(klass, name, doc):
  77.     get = getattr(klass, '_get_' + name).im_func
  78.     
  79.     def set(self, value, name = name):
  80.         raise xml.dom.NoModificationAllowedErr('attempt to modify read-only attribute ' + repr(name))
  81.  
  82.     prop = property(get, set, doc = doc)
  83.     setattr(klass, name, prop)
  84.  
  85.